package lew.bing.gwalo.annotations;

import java.lang.annotation.*;

/**
 * Created by 刘国兵 on 2018/7/7.
 */
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD})
@Inherited
public @interface BingoCommand {

    /**
     * 信号量key，可以使用el表达式，方法参数的名称，#methodName表示方法名,#arg0代表第一个参数
     * 默认为方法名
     * @return
     */
    String key() default "";

    String group() default "";

    /**
     * 默认的permits
     * @return 默认permits
     */
    int permits() default 100;



    /**
     * 默认阻塞处理，否则立即报错
     * @return 是否阻塞
     */
    boolean block() default true;

    /**
     * 第一个版本不做回退措施
     * 保留
     * @return 当无法获取资源时调用的方法，与原方法需要有一致的签名
     */
    String rollback() default "";

}
